home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility3 / toolhelp.zip / TOOLHELP.INC < prev    next >
Text File  |  1991-05-09  |  9KB  |  293 lines

  1. ;**************************************************************************
  2. ;*  TOOLHELP.INC
  3. ;*
  4. ;*      Assembly-language public include file for TOOLHELP.DLL
  5. ;*
  6. ;**************************************************************************
  7.  
  8. ;** General symbol values
  9. MAX_DATA        EQU     11
  10. MAX_PATH        EQU     255
  11. MAX_MODULE_NAME EQU     8 + 1           ;Leave room for the zero and padding
  12. MAX_CLASSNAME   EQU     255
  13.  
  14. ; ----- Global heap walking -----
  15.  
  16. GLOBALENTRY STRUC
  17. ge_dwSize       DD      ?               ;Structure version
  18. ge_dwAddress    DD      ?               ;This block's address
  19. ge_dwBlockSize  DD      ?               ;This block's size
  20. ge_hBlock       DW      ?               ;This block's handle
  21. ge_wcLock       DW      ?               ;Lock count
  22. ge_wcPageLock   DW      ?               ;Page lock count
  23. ge_wFlags       DW      ?               ;Block flags
  24. ge_wHeapPresent DW      ?               ;Size of available local heap
  25. ge_hOwner       DW      ?               ;Owner handle
  26. ge_wType        DW      ?               ;Block type
  27. ge_wData        DW      ?               ;Type-specific data
  28. ge_dwNext       DD      ?               ;Pointer to next block
  29. ge_dwNextAlt    DD      ?               ;Next free/LRU block in chain
  30. GLOBALENTRY ENDS
  31.  
  32. ; ** GlobalFirst()/GlobalNext() flags
  33. GLOBAL_ALL      EQU     0
  34. GLOBAL_LRU      EQU     1
  35. GLOBAL_FREE     EQU     2
  36.  
  37. ; ** GLOBALENTRY.ge_wType entries
  38. GT_UNKNOWN      EQU     0
  39. GT_DGROUP       EQU     1
  40. GT_DATA         EQU     2
  41. GT_CODE         EQU     3
  42. GT_TASK         EQU     4
  43. GT_RESOURCE     EQU     5
  44. GT_MODULE       EQU     6
  45. GT_FREE         EQU     7
  46. GT_INTERNAL     EQU     8
  47. GT_SENTINEL     EQU     9
  48. GT_BURGERMASTER EQU     10
  49.  
  50. ; ** if GLOBALENTRY.wType==GT_RESOURCE, the following is GLOBALENTRY.wData:
  51. GD_USERDEFINED          EQU     0
  52. GD_CURSORCOMPONENT      EQU     1
  53. GD_BITMAP               EQU     2
  54. GD_ICONCOMPONENT        EQU     3
  55. GD_MENU                 EQU     4
  56. GD_DIALOG               EQU     5
  57. GD_STRING               EQU     6
  58. GD_FONTDIR              EQU     7
  59. GD_FONT                 EQU     8
  60. GD_ACCELERATORS         EQU     9
  61. GD_RCDATA               EQU     10
  62. GD_ERRTABLE             EQU     11
  63. GD_CURSOR               EQU     12
  64. GD_ICON                 EQU     14
  65. GD_NAMETABLE            EQU     15
  66. GD_MAX_RESOURCE         EQU     15
  67.  
  68. ;** GLOBALENTRY.wFlags
  69. GF_PDB_OWNER    EQU     100h            ;Low byte is KERNEL flags
  70.  
  71. ; ----- Local heap walking -----
  72.  
  73. LOCALENTRY STRUC
  74. le_dwSize       DD      ?
  75. le_hHandle      DW      ?
  76. le_wAddress     DW      ?
  77. le_wSize        DW      ?
  78. le_wFlags       DW      ?
  79. le_wcLock       DW      ?
  80. le_wType        DW      ?
  81. le_hHeap        DW      ?
  82. le_wHeapType    DW      ?
  83. le_wNext        DW      ?
  84. LOCALENTRY ENDS
  85.  
  86. ; ** LOCALENTRY.wHeapType flags
  87. NORMAL_HEAP     EQU     0
  88. USER_HEAP       EQU     1
  89. GDI_HEAP        EQU     2
  90.  
  91. ;** LOCALENTRY.wFlags
  92. LF_FIXED                EQU     1
  93. LF_FREE                 EQU     2
  94. LF_MOVEABLE             EQU     4
  95.  
  96. ;** LOCALENTRY.wType
  97. LT_NORMAL               EQU     0
  98. LT_GDI_PEN              EQU     1
  99. LT_GDI_BRUSH            EQU     2
  100. LT_GDI_FONT             EQU     3
  101. LT_GDI_PALETTE          EQU     4
  102. LT_GDI_BITMAP           EQU     5
  103. LT_GDI_RGN              EQU     6
  104. LT_GDI_DC               EQU     7
  105. LT_GDI_DISABLED_DC      EQU     8
  106. LT_GDI_METADC           EQU     9
  107. LT_GDI_METAFILE         EQU     10
  108. LT_GDI_MAX              EQU     LT_GDI_METAFILE
  109. LT_FREE                 EQU     0ffh
  110.  
  111. ; ----- Stack tracing -----
  112.  
  113. STACKTRACEENTRY STRUC
  114. st_dwSize       DD      ?
  115. st_hTask        DW      ?
  116. st_wSS          DW      ?
  117. st_wBP          DW      ?
  118. st_wCS          DW      ?
  119. st_wIP          DW      ?
  120. st_hModule      DW      ?
  121. st_wSegment     DW      ?
  122. st_wFlags       DW      ?
  123. STACKTRACEENTRY ENDS
  124.  
  125. ;** STACKTRACEENTRY.wFlags values
  126. FRAME_FAR       EQU     0
  127. FRAME_NEAR      EQU     1
  128.  
  129. ; ----- Module list walking -----
  130.  
  131. MODULEENTRY STRUC
  132. me_dwSize       DD      ?
  133. me_szModule     DB      MAX_MODULE_NAME + 1 DUP(?)
  134. me_hModule      DW      ?
  135. me_wUsageFlags  DW      ?
  136. me_szExePath    DB      MAX_PATH + 1 + 1 DUP(?)
  137. me_wNext        DW      ?
  138. MODULEENTRY ENDS
  139.  
  140. ; ----- Task list walking -----
  141.  
  142. TASKENTRY STRUC
  143. te_dwSize               DD      ?
  144. te_hTask                DW      ?
  145. te_hTaskParent          DW      ?
  146. te_hInst                DW      ?
  147. te_hModule              DW      ?
  148. te_wSS                  DW      ?
  149. te_wSP                  DW      ?
  150. te_wStackTop            DW      ?
  151. te_wStackMinimum        DW      ?
  152. te_wStackBottom         DW      ?
  153. te_wcEvents             DW      ?
  154. te_hQueue               DW      ?
  155. te_szModule             DB      MAX_MODULE_NAME + 1 DUP(?)
  156. te_wPSPOffset           DW      ?
  157. te_hNext                DW      ?
  158. TASKENTRY ENDS
  159.  
  160. ;** TaskSwitch() return values
  161. TS_ERROR    EQU         0
  162. TS_NEW      EQU         1
  163. TS_OLD      EQU         2
  164.  
  165. ; ----- Window Class enumeration -----
  166.  
  167. CLASSENTRY STRUC
  168. ce_dwSize               DD      ?
  169. ce_hInst                DW      ?
  170. ce_szClassName          DB      MAX_CLASSNAME + 1 DUP(?)
  171. ce_wNext                DW      ?
  172. CLASSENTRY ENDS
  173.  
  174. ; ----- Information functions -----
  175.  
  176. VMEMMANINFO STRUC
  177. vmm_dwSize              DD      ?
  178. vmm_dwLargestFreeBlock  DD      ?
  179. vmm_dwMaxPagesAvailable DD      ?
  180. vmm_dwMaxPagesLockable  DD      ?
  181. vmm_dwTotalLinearSpace  DD      ?
  182. vmm_dwTotalUnlockedPages DD     ?
  183. vmm_dwFreePages         DD      ?
  184. vmm_dwTotalPages        DD      ?
  185. vmm_dwFreeLinearSpace   DD      ?
  186. vmm_dwSwapFilePages     DD      ?
  187. vmm_wPageSize           DW      ?
  188. VMEMMANINFO ENDS
  189.  
  190. USERHEAPINFO STRUC
  191. ui_dwSize               DD      ?
  192. ui_wHeapFree            DW      ?
  193. ui_wMaxHeapSize         DW      ?
  194. ui_wPercentFree         DW      ?
  195. ui_hSegment             DW      ?
  196. USERHEAPINFO ENDS
  197.  
  198. GDIHEAPINFO STRUC
  199. gi_dwSize               DD      ?
  200. gi_wHeapFree            DW      ?
  201. gi_wMaxHeapSize         DW      ?
  202. gi_wPercentFree         DW      ?
  203. gi_hSegment             DW      ?
  204. GDIHEAPINFO ENDS
  205.  
  206. ; ----- Notifications -----
  207.  
  208. ;* NFY_UNKNOWN:  An unknown notification has been returned from KERNEL.  Apps
  209. ;*      should ignore these.
  210. ;*
  211. NFY_UNKNOWN     EQU     0
  212.  
  213. ;** NFY_LOADSEG:  dwData points to a NFYLOADSEG structure
  214. NFY_LOADSEG     EQU     1
  215. NFYLOADSEG STRUC
  216. nls_dwSize              DD      ?
  217. nls_wSelector           DW      ?
  218. nls_wSegNum             DW      ?
  219. nls_wType               DW      ?
  220. nls_hInstance           DW      ?
  221. nls_lpstrModuleName     DD      ?
  222. NFYLOADSEG ENDS
  223.  
  224. ;** NFY_FREESEG:  LOWORD(dwData) is the selector of the segment being freed
  225. NFY_FREESEG     EQU     2
  226.  
  227. ;** NFY_STARTTASK:  dwData points to a NFYSTARTTASK structure
  228. NFY_STARTTASK   EQU     3
  229. NFYSTARTTASK STRUC
  230. nst_dwSize              DD      ?
  231. nst_hInstance           DW      ?
  232. nst_wCS                 DW      ?
  233. nst_wIP                 DW      ?
  234. NFYSTARTTASK ENDS
  235.  
  236. ;** NFY_EXITTASK:  The low byte of dwData contains the program exit code
  237. NFY_EXITTASK    EQU     4
  238.  
  239. ;** NFY_LOADDLL:  dwData points to a NFYLOADDLL structure
  240. NFY_LOADDLL     EQU     5
  241. NFYLOADDLL STRUC
  242. nld_dwSize              DD      ?
  243. nld_hModule             DW      ?
  244. nld_wCS                 DW      ?
  245. nld_wIP                 DW      ?
  246. NFYLOADDLL ENDS
  247.  
  248. ;** NFY_DELMODULE:  LOWORD(dwData) is the handle of the module to be freed
  249. NFY_DELMODULE   EQU     6
  250.  
  251. ;** NFY_DEBUGSTR:  dwData points to the string to be output
  252. NFY_DEBUGSTR    EQU     7
  253.  
  254. ;** NFY_RIP:  dwData points to a NFYRIP structure
  255. NFY_RIP         EQU     8
  256. NFYRIP STRUC
  257. nrp_wExitCode           DW      ?
  258. nrp_wCS                 DW      ?
  259. nrp_wIP                 DW      ?
  260. NFYRIP ENDS
  261.  
  262. ;** NFY_TASKIN:  LOWORD(dwData) is the hTask for the entering task
  263. NFY_TASKIN      EQU     9
  264.  
  265. ;** NFY_TASKOUT:  LOWORD(dwData) is the hTask for the task being left
  266. NFY_TASKOUT     EQU     10
  267.  
  268. ;** NFY_INCHAR:  Return value of callback is used.  If FALSE, mapped to 'i'
  269. NFY_INCHAR      EQU     11
  270.  
  271. ;** NFY_OUTSTR:  dwData points to the string to be displayed
  272. NFY_OUTSTR      EQU     12
  273.  
  274. ;** NFY_CTLALTSYSRQ:  dwData points to instruction to set breakpoint at
  275. NFY_CTLALTSYSRQ EQU     13
  276.  
  277. ;** NotifyRegister() flags
  278. NF_NORMAL       EQU     0
  279. NF_TASKSWITCH   EQU     1
  280. NF_RIP          EQU     2
  281. NF_DEBUGSTR     EQU     4
  282.  
  283. ;** TerminateApp() flag values
  284. UAE_BOX         EQU     0
  285. NO_UAE_BOX      EQU     1
  286.  
  287. TIMERINFO STRUC
  288. ti_dwSize               DD      ?
  289. ti_dwmsSinceStart       DD      ?
  290. ti_dwmsThisVM           DD      ?
  291. TIMERINFO ENDS
  292.  
  293.